A communication network may include network elements that route packets through the network. Some network elements may include a distributed architecture, wherein packet processing may be distributed among several subsystems of the network element (e.g., line cards).
Service Operation, Administration, and Management (“Service OAM” or “SOAM”), is defined by IEEE 802.1ag and defines Maintenance Entity Group End Points (MEPs) and Maintenance Entity Group Intermediate Points (MIPs) that may be provisioned on a network element. Throughout this disclosure, MEPs and MIPs may generally be referred to as “maintenance points.” A maintenance point may be associated with a particular maintenance level (e.g., 0 to 7) and may be configured to communicate traffic, for example continuity check messages (CCMs), to a peer maintenance point at the same maintenance level that resides in the communication network. CCMs may be periodically communicated between maintenance points at the same maintenance level, and a service is considered down if a maintenance point does not receive a CCM from its peer maintenance point within a certain time.
Oftentimes, a maintenance point may be provisioned and associated with a particular port of a multi-port line card. In implementations in which two or more ports of the multi-port line card are part of a flooding domain, the ports may support intra-interface communication of traffic or “hairpinning” in which traffic ingressing via one physical port of a line card may egress from the same physical port of the line card. SOAM services may also be hairpinned, allowing hairpinned communication of service messages.
However, behavior of hairpinned services is not defined by existing communications standards. In addition, under existing standards, CCMs communicated by maintenance points may continuously update a Media Access Control (MAC) address table residing on a line card that associates maintenance points with particular MAC addresses for line cards for which the maintenance points are resident. Thus, when traffic arriving at a line card requires a MAC address look up, the MAC address table will return a MAC address based on the last received frame (e.g., CCM message frame). Because each maintenance point may maintain its own state machine (e.g., for determining the presence of CCMs and other service messages), problems may occur related to loopback, linktrace, and/or other messages associated with the various maintenance points when services are hairpinned. For example, a maintenance point provisioned on a line card of a network element may communicate a message (e.g., loopback or linktrace message) to a remote node in a communication network. A reply to the message may arrive back at the network element and may be forwarded to: (i) the maintenance point sending the original message, or (ii) another maintenance point on the same port in the event an intervening message processed by the line card updates the MAC address table to associate the MAC address of the port with another maintenance point on the same port. As another example, if a multicast message (e.g., loopback or linktrace message) is received at a network element having a plurality of maintenance points provisioned on a physical port, or if a unicast message (e.g., loopback or linktrace message) is received at a network element having a plurality of maintenance points provisioned on a physical port wherein the MAC address of the line card has not yet been learned, the message may be flooded to each of the plurality of provisioned maintenance points, and all such maintenance points may in turn communicate a reply message back to the source of the original message. Thus, due to many maintenance points sharing MAC addresses, hairpinning may adversely affect loopback or linktracing of circuits in a flooding domain, as it may affect learning of MAC addresses.